

def hold_retrieve_1():
  """HF1. DN1 call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_2():
  """HF2. Inbound call to DN3, DN3 cinit DN2, DN2 answer, rel. DN3, DN3 retrieve, rel.Ext1Dn"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()

def hold_retrieve_3():
  """HF3  Outbound call DN3 to Ext1DN, DN3 cinit DN1, DN2 answer, rel. DN3, DN3 retrieve, rel.Ext1Dn"""
  SiebelAg3.MakeCall(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.InitiateConference(DN1)
  SiebelAg1.AnswerCall()
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg2.ReleaseCall()

def hold_retrieve_4():
  """HF4. DN1 call to DN3, DN3 cinit Ext1DN , Ext1DN answer, rel. DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_5():
  """HF5. Inbound call to DN3, DN3 cinit Ext1DN, Ext1DN answer, rel. DN3, DN3 retrieve, rel.Ext1Dn"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()

def hold_retrieve_6():
  """HF6. DN1 call to DN3, DN3 cinit DN2 (no answer), DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_7():
  """HF7. Inbound call to DN3,  DN3 cinit DN2 (no answer), rel DN3, DN3 retrieve, rel.Ext1Dn"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()

def hold_retrieve_8():
  """HF8. Outbound call DN3 to Ext1DN, DN3 cinit DN1 (no answer),rel DN3, DN3 retrieve, rel.Ext1Dn"""
  SiebelAg3.MakeCall(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.InitiateConference(DN1)
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg2.ReleaseCall()

def hold_retrieve_9():
  """HF9. DN1 call to DN3, DN3 cinit Ext1DN (no answer),rel DN3, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_10():
  """HF10. Inbound call to DN3,DN3 cinit Ext1DN (no answer),rel DN3, DN3 retrieve, rel.Ext1Dn"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()

def hold_retrieve_11():
  """HF11. DN1 call to ACD3, PosID3 cinit DN2, DN2 answer, rel. PosID3, PosID3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(ACD3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_12():
  """HF12. Inbound call to ACD3, PosID3 cinit DN2, DN2 ans, rel. PosID3, PosID3 retrieve, rel.Ext1Dn"""
  Ext1SiebelAg1.MakeCall(ACD3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()

def hold_retrieve_13():
  """HF13. DN1 call to ACD3,  PosID3 cinit Ext1DN, Ext1DN ans, rel. PosID3, PosID3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(ACD3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_14():
  """HF14. Inbound call to ACD3,PosID3 cinit Ext1DN, Ext1DN ans,rel. PosID3, PosID3 retrieve, rel.Ext1Dn"""
  Ext1SiebelAg1.MakeCall(ACD3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg3.ReleaseCall()
  SiebelAg3.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()

def hold_retrieve_15():
  """H1. DN1 call to DN3, DN3 ans, DN3 hold, DN3 retrieve, rel. DN3"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  SiebelAg3.ReleaseCall()


def hold_retrieve_18():
  """H6. DN1 call to ACD3, PosID3 ans, PosID3 hold, PosID3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(ACD3)
  SiebelAg3.AnswerCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()


def hold_retrieve_21():
  """ DN1 call to DN2,  DN2 hold, DN2 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.HoldCall()
  SiebelAg2.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_22():
  """ Inbound call to DN2,  DN2 hold, DN2 retrieve, rel.Ext1Dn"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.HoldCall()
  SiebelAg2.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()

def hold_retrieve_23():
  """ Outbound call DN2 to Ext1DN,  DN2 hold, DN2 retrieve, rel.Ext1Dn"""
  SiebelAg2.MakeCall(Ext1DN2)
  Ext1SiebelAg2.AnswerCall()
  SiebelAg2.HoldCall()
  SiebelAg2.RetrieveCall()
  Ext1SiebelAg2.ReleaseCall()

def hold_retrieve_24():
  """ DN1 call to ACD2, PosID2 hold,  PosID2 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(ACD2)
  SiebelAg2.AnswerCall()
  SiebelAg2.HoldCall()
  SiebelAg2.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_25():
  """ Inbound call to ACD2, PosID2 hold, PosID2 retrieve, rel.Ext1Dn"""
  Ext1SiebelAg1.MakeCall(ACD2)
  SiebelAg2.AnswerCall()
  SiebelAg2.HoldCall()
  SiebelAg2.RetrieveCall()
  Ext1SiebelAg1.ReleaseCall()
  
def hold_retrieve_16n():
  """H3. DN1 call to DN3, DN1 hold, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg1.HoldCall()
  SiebelAg1.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_17n():
  """H5. DN1 call to DN3, DN1 hold, DN1 retr, DN3 ans, DN3 hold, DN3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(DN3)
  SiebelAg1.HoldCall()
  SiebelAg1.RetrieveCall()
  SiebelAg3.AnswerCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()


def hold_retrieve_19n():
  """H8. DN1 call to ACD3, DN1 hold, PosID3 retrieve, rel. DN1"""
  SiebelAg1.MakeCall(ACD3)
  SiebelAg1.HoldCall()
  SiebelAg1.RetrieveCall()
  SiebelAg1.ReleaseCall()

def hold_retrieve_20n():
  """H10. DN1 call to ACD3, DN1 hold, DN1 retr, PosID3 ans and hold, PosID3 retr, rel. DN1"""
  SiebelAg1.MakeCall(ACD3)
  SiebelAg1.HoldCall()
  SiebelAg1.RetrieveCall()
  SiebelAg3.AnswerCall()
  SiebelAg3.HoldCall()
  SiebelAg3.RetrieveCall()
  SiebelAg1.ReleaseCall()
  
